home *** CD-ROM | disk | FTP | other *** search
Makefile | 1996-05-20 | 8.3 KB | 286 lines |
- # Makefile for the Universal NFS Server. -*- Indented-Text -*-
- # Copyright (C) 1993 Rick Sladkey.
-
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2, or (at your option)
- # any later version.
-
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
-
- # You should have received a copy of the GNU General Public License
- # along with this program; if not, write to the Free Software
- # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
- #### Start of system configuration section. ####
-
- srcdir = @srcdir@
- VPATH = @srcdir@
-
- CC = @CC@
- AR = ar
- RANLIB = @RANLIB@
-
- INSTALL = @INSTALL@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_DATA = @INSTALL_DATA@
- MAKEINFO = makeinfo
- TEXI2DVI = texi2dvi
- RPCGEN = @RPCGEN@ @RPCGEN_C@
-
- # General compile options and libs:
- DEFS = @DEFS@ $(NFSD_DEFS)
- LIBS = libnfs.a @LIBS@
-
- # Compile options for nfsd:
- # CALL_PROFILING
- # Profiles all NFS RPC calls in the server. Statistics can be dumped
- # to /tmp/nfsd.profile by sending a SIGIOT to the server.
- # DOSHACKS
- # This is a hack that lets DOS boxes mount NFS volumes with all_squash
- # enabled and actually write to them, even though their uid/gid does
- # not match the non_uid/anon_gid. Ugly, and not officially supported.
- # (Don't you call me a hypocrite:)
- # DEBUG
- # General debugging enable flag
- #NFSD_DEFS = -DCALL_PROFILING
- NFSD_DEFS =
-
- CFLAGS = -O
- LDFLAGS = -s
- WARNFLAGS = @WARNFLAGS@
- RPC_WARNFLAGS = @RPC_WARNFLAGS@
- TRANSPORTFLAGS = @RPCGEN_I@ -s udp -s tcp
-
- prefix = /usr
- exec_prefix = $(prefix)
-
- bindir = $(exec_prefix)/sbin
- infodir = $(prefix)/info
- man5dir = $(prefix)/man/man5
- man5ext = .5
- man8dir = $(prefix)/man/man8
- man8ext = .8
-
- # Prefix to be prepended to each installed RPC program, normally `rpc.'.
- rpcprefix = rpc.
- # Prefix to be prepended to each installed program, normally empty or `g'.
- binprefix =
-
- #### End of system configuration section. ####
-
- # include site-specific defintions generated by BUILD.
- include site.mk
-
- SHELL = /bin/sh
-
- SRCS = version.c logging.c fh.c auth_init.c auth_clnt.c auth.c \
- nfsd.c nfs_dispatch.c getattr.c setattr.c \
- mountd.c mount_dispatch.c \
- ugid_clnt.c ugid_map.c ugid_xdr.c ugidd.c \
- rquotad.c rquota_dispatch.c rquota_xdr.c \
- rpcmisc.c rmtab.c showmount.c
- LIBSRCS = fileblocks.c fsusage.c realpath.c strerror.c \
- utimes.c mkdir.c rename.c getopt.c getopt1.c \
- alloca.c eaccess.c mountlist.c xmalloc.c \
- xstrdup.c strdup.c strstr.c nfsmounted.c faccess.c
- XDRFILES = mount.x nfs_prot.x
- GENFILES = mount.h mount_xdr.c mount_svc.c nfs_prot.h nfs_prot_xdr.c \
- ugid.h ugid_xdr.c ugid_clnt.c
- HDRS = system.h nfsd.h auth.h fh.h logging.h fakefsuid.h \
- rpcmisc.h faccess.h rquotad.h rquota.h
- LIBHDRS = fsusage.h getopt.h mountlist.h
- MANPAGES5 = exports
- MANPAGES8 = mountd nfsd showmount $(UGIDD_MAN)
- MANPAGES = $(MANPAGES5) $(MANPAGES8)
- LIBOBJS = version.o getopt.o getopt1.o eaccess.o \
- fsusage.o mountlist.o xmalloc.o xstrdup.o \
- nfsmounted.o faccess.o @LIBOBJS@ @ALLOCA@
- OBJS = logging.o fh.o auth_init.o auth_clnt.o auth.o
- NFSD_OBJS = nfsd.o rpcmisc.o nfs_dispatch.o getattr.o setattr.o \
- nfs_prot_xdr.o ugid_clnt.o ugid_map.o ugid_xdr.o $(OBJS)
- MOUNTD_OBJS = mountd.o rpcmisc.o mount_dispatch.o mount_xdr.o rmtab.o \
- $(OBJS)
- SHOWMOUNT_OBJS = showmount.o mount_xdr.o
- UGIDD_OBJS = ugidd.o ugid_xdr.o logging.o
- RQUOTAD_OBJS = rquotad.o rquota_xdr.o rquota_dispatch.o rpcmisc.o \
- logging.o
- DAEMONS = $(rpcprefix)mountd $(rpcprefix)nfsd $(UGIDD_PROG) \
- $(RQUOTAD_PROG)
- CLIENTS = showmount
-
- DISTFILES = $(SRCS) $(HDRS) $(MANPAGES) \
- $(XDRFILES) $(LIBSRCS) $(LIBHDRS) \
- ChangeLog README NEWS TODO INSTALL COPYING \
- Makefile.in configure.in aclocal.m4 acconfig.h \
- config.h.in configure mkinstalldirs
-
- all: $(rpcprefix)mountd $(rpcprefix)nfsd showmount $(UGIDD_PROG)
- .PHONY: all
-
- .PHONY: info dvi
- info: nfs-server.info
- dvi: nfs-server.dvi
-
- COMPILE = $(CC) -c $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) $(CFLAGS) $(WARNFLAGS)
-
- .c.o:
- $(COMPILE) $<
-
- .PHONY: install installdirs
- install: $(DAEMONS) $(CLIENTS) installdirs
- @for prog in $(DAEMONS) $(CLIENTS); do \
- echo "installing $$prog in $(bindir)"; \
- $(INSTALL_PROGRAM) $$prog $(bindir)/$$prog; \
- done
- @for manp in $(MANPAGES5); do \
- echo "installing $$manp$(man5ext) in $(man5dir)"; \
- $(INSTALL_DATA) $(srcdir)/$$manp.man \
- $(man5dir)/$$manp$(man5ext); \
- done
- @for manp in $(MANPAGES8); do \
- echo "installing $$manp$(man8ext) in $(man8dir)"; \
- $(INSTALL_DATA) $(srcdir)/$$manp.man \
- $(man8dir)/$$manp$(man8ext); \
- if [ 'x$(rpcprefix)' != 'x' ]; then \
- rm -f $(man8dir)/$(rpcprefix)$$manp$(man8ext); \
- ln $(man8dir)/$$manp$(man8ext) \
- $(man8dir)/$(rpcprefix)$$manp$(man8ext); \
- fi; \
- done
-
- installdirs:
- ${srcdir}/mkinstalldirs $(bindir) $(man5dir) $(man8dir)
-
- $(rpcprefix)mountd: $(MOUNTD_OBJS) libnfs.a
- $(CC) $(LDFLAGS) -o $@ $(MOUNTD_OBJS) $(LIBS)
-
- $(rpcprefix)nfsd: $(NFSD_OBJS) libnfs.a
- $(CC) $(LDFLAGS) -o $@ $(NFSD_OBJS) $(LIBS)
-
- $(rpcprefix)ugidd: $(UGIDD_OBJS) libnfs.a
- $(CC) $(LDFLAGS) -o $@ $(UGIDD_OBJS) $(LIBS) \
- $(LIBWRAP_DIR) $(LIBWRAP_LIB)
-
- $(rpcprefix)rquotad: $(RQUOTAD_OBJS) libnfs.a
- $(CC) $(LDFLAGS) -o $@ $(RQUOTAD_OBJS) $(LIBS)
-
- showmount: $(SHOWMOUNT_OBJS) libnfs.a
- $(CC) $(LDFLAGS) -o $@ $(SHOWMOUNT_OBJS) $(LIBS)
-
- version.c: .version
- VERSION=`cat .version`; \
- echo "char version[] = \"Universal NFS Server $$VERSION\";" > version.c
-
- nfs_prot.h: nfs_prot.x
- rm -f $@
- $(RPCGEN) -h -o $@ $?
- nfs_prot_xdr.c: nfs_prot.x
- rm -f $@
- $(RPCGEN) -c $? | \
- sed 's;^#include ".*/nfs_prot.h"$$;#include "nfs_prot.h";' >$@
-
- mount.h: mount.x
- rm -f $@
- $(RPCGEN) -h -o $@ $?
- mount_xdr.c: mount.x
- rm -f $@
- $(RPCGEN) -c $? | \
- sed 's;^#include ".*/mount.h"$$;#include "mount.h";' >$@
- mount_svc.c: mount.x
- rm -f $@
- $(RPCGEN) -m $? | \
- sed 's;^#include ".*/mount.h"$$;#include "mount.h";' >$@
-
- ugid.h: ugid.x
- rm -f $@
- $(RPCGEN) -h -o $@ $?
- ugid_xdr.c: ugid.x
- rm -f $@
- $(RPCGEN) -c $? | \
- sed 's;^#include ".*/ugid.h"$$;#include "ugid.h";' >$@
- ugid_clnt.c: ugid.x
- rm -f $@
- $(RPCGEN) -l -o $@ $?
-
- nfs_prot_xdr.o: nfs_prot_xdr.c
- $(COMPILE) $(RPC_WARNFLAGS) -c nfs_prot_xdr.c
- mount_xdr.o: mount_xdr.c
- $(COMPILE) $(RPC_WARNFLAGS) -c mount_xdr.c
- mount_svc.o: mount_svc.c
- $(COMPILE) $(RPC_WARNFLAGS) -c mount_svc.c
- ugid_xdr.o: ugid_xdr.c
- $(COMPILE) $(RPC_WARNFLAGS) -c ugid_xdr.c
- ugid_clnt.o: ugid_clnt.c
- $(COMPILE) $(RPC_WARNFLAGS) -c ugid_clnt.c
-
- $(MOUNTD_OBJS): config.h nfs_prot.h mount.h
- $(NFSD_OBJS): config.h nfs_prot.h mount.h
- $(SHOWMOUNT_OBJS): config.h mount.h
- ugid_map.o ugid_clnt.o: config.h ugid.h
- $(UGIDD_OBJS): config.h ugid.h
- ugidd.o: ugidd.c
- $(COMPILE) $(UGIDD_DEFS) -c ugidd.c
-
- libnfs.a: $(LIBOBJS)
- rm -f $@
- $(AR) cr $@ $(LIBOBJS)
- -$(RANLIB) $@
-
- nfs-server.info: nfs-server.texi
- $(MAKEINFO) -I$(srcdir) -o nfs-server.info $(srcdir)/nfs-server.texi
- nfs-server.dvi: nfs-server.texi
- $(TEXI2DVI) $(srcdir)/nfs-server.texi
-
- README: README.mm
- groff -mgm -Tascii README.mm | col -b > README
-
- .PHONY: check
- check: nfs-server
- @echo nothing to check
-
- # this causes nothing but grief
- #Makefile: Makefile.in config.h.in config.status
- # $(SHELL) config.status
- #config.status: configure
- # $(SHELL) config.status --recheck
- #configure: configure.in aclocal.m4
- # cd $(srcdir) && autoconf
- #config.h.in: configure.in acconfig.h
- # cd $(srcdir) && autoheader
-
- TAGS: $(SRCS)
- etags $(SRCS)
-
- .PHONY: clean mostlyclean distclean realclean dist
-
- clean:
- rm -f $(rpcprefix)mountd $(rpcprefix)nfsd
- rm -f $(rpcprefix)ugidd $(rpcprefix)rquotad
- rm -f showmount
- rm -f *.o libnfs.a core
- rm -f nfs-server.dvi nfs-server.?? nfs-server.??s
- rm -f $(GENFILES)
-
- mostlyclean: clean
-
- distclean: clean
- rm -f Makefile config.status config.cache config.log site.h site.mk
-
- realclean: distclean
- rm -f TAGS nfs-server.info*
-
- dist: $(DISTFILES)
- echo nfs-server-`sed -e '/version/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
- rm -rf `cat .fname`
- mkdir `cat .fname`
- ln $(DISTFILES) `cat .fname`
- tar chzf `cat .fname`.tar.gz `cat .fname`
- rm -rf `cat .fname` .fname
-
- # Prevent GNU make v3 from overflowing arg limit on SysV.
- .NOEXPORT:
-